Updating an operating parameter

ABSTRACT

A method includes communicating with a first wireless network of a first type, and obtaining a location-based operating parameter from the first wireless network. The method further includes checking the validity of the location-based operating parameter obtained from the first wireless network. If the location-based operating parameter obtained from the first wireless network is not valid, then the method further includes searching for a second wireless network of a second type, and updating the location-based operating parameter from the second wireless network.

BACKGROUND INFORMATION

Many mobile devices are capable of operating on different wirelessnetworks. For example, many cellular phones are “multi mode,” i.e.,capable of operating on two or more different types of wirelessnetworks, such as a code division multiple access (CDMA) network and aglobal system for mobile communications (GSM) network. While some areas,and even whole countries, may use one type of wireless network, otherareas and countries may utilize a different type of wireless network, oreven have several network types in the same or different areas.

While a mobile device may be capable of communicating on these differentnetworks, such a mobile device may need to determine or update certainoperating parameters in order to operate properly or more seamlessly.For example, such dual mode mobile devices may be capable of usingdifferent types of networks in different countries. However, to enablemany location-based features, the mobile device may need to determinethe country from which it is operating. For example, for a user to callanother party residing in another country using phone numbers stored inan address book, the mobile device may need to determine which outgoingcountry code to use before dialing the stored phone number. While suchinformation may be readily available on one type of wireless network, itmay not be available on another.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an exemplary system for updating an operatingparameter.

FIG. 2 illustrates an exemplary process for accessing a service.

FIG. 3 illustrates an exemplary process for updating an operatingparameter.

FIG. 4 illustrates another exemplary process for updating an operatingparameter.

FIG. 5 illustrates another exemplary process for updating alocation-based operating parameter.

DETAILED DESCRIPTION

FIG. 1 illustrates an exemplary system 100 for updating an operatingparameter. Typically, system 100 includes a mobile device 110 that iscapable of accessing at least two different types of wireless networks120, 130. Wireless network 120, for example, may be a CDMA wirelessnetwork, while network 130 may be a GSM wireless network. As illustratedin FIG. 1, each wireless network 120, 130 typically includes a basestation 122, 132, a telecommunications network 124, 134, and atelecommunications server 126, 136. Mobile device 110 operates byaccessing a base station 122 that communicates with a telecommunicationsnetwork 124, allowing mobile device 110 to conduct various voice anddata communications with other devices, such as a remote telephone,computer, telecommunications server 126, etc. Similarly, mobile device110 may also operate by accessing a base station 132 that communicateswith a telecommunications network 134, allowing mobile device 110 toconduct various voice and data communications with other devices, suchas a remote telephone, computer, telecommunications server 136, etc.

Typically, mobile device 110 registers with an available network, suchas wireless network 120 or wireless network 130. Mobile device 110 thentypically updates one or more operating parameters by retrieving suchone or more desired operating parameters from wireless network 120 orwireless network 130. An operating parameter is typically any parameter,i.e. data, which can be used by mobile device 110. For example, anoperating parameter may be location-specific data that indicates aspecific country, stat, region, or locality. One example of an operatingparameter is a mobile country code (MCC) that identifies the countrywhere wireless networks 120, 130 are located. An operating parameter mayalso be an area code within a country code, a time zone, a current localtime, or some other location or region-specific information that can beused by mobile device 110.

Mobile device 110 may benefit from, or even require, updating anoperating parameter in order to enhance or provide certain services to auser. However, in certain circumstances, the particular wireless network120, 130 that mobile device 110 is registered with may not provide thedesired operating parameter. For example, an attempt by mobile device110 to retrieve a desired operating parameter may be unsuccessful. Asdiscussed in detail below, mobile device 110 may be configured toattempt to retrieve an operating parameter from a first wireless network120. If the attempt is unsuccessful, mobile device 110 may be furtherconfigured to attempt to retrieve the desired operating parameter from asecond wireless network 130.

Mobile device 110 is typically any wireless device capable offacilitating voice and/or data communications over wireless networks 120and 130. Mobile device 110 is typically any portable electronic devicethat is capable of communicating over at least two different types ofwireless networks. For example, mobile device 110 can be a cellularphone, a personal digital assistant, a handled computer, a laptop, orthe like. Mobile device 110 is typically capable of utilizing more thanone wireless communication protocol in order to access different typesof wireless networks. For example, mobile device 110 can be any devicethat can communicate voice or data over a wireless network 120, 130,such as by communicating with base station 122, 132, using code divisionmultiple access (CDMA), time division multiple access (TDMA), globalsystem for mobile communications (GSM), a Universal MobileTelecommunication System (UMTS), a Long Term Evolution (LTE), or thelike. Additionally, mobile device 110 can also communicate with variousdevices using such wireless protocols as Bluetooth, WiFi (i.e. IEEE802.11), ZigBee, Z-Wave, or any other wireless communication protocol.

Mobile device 110 generally communicates with a base station 122, 132that is within a certain proximity of mobile device 110. Base station122, 132 typically transmits communication signals from mobile device110 to a Mobile Telephone Switching Office (MTSO) or packet data node(PDN). Each MTSO/PDN is associated with one or more base stations 122,132, and each typically handles communications for a plurality of mobiledevices 110. Typically, mobile device 100, base stations 122, 132, orthe MTSO/PDN will periodically communicate with a telecommunicationsserver 126, 136.

Telecommunications servers 126, 136 can be any type of computing devicethat typically includes a processor, a memory, and a computer-readablemedium. Servers 126, 136 may also include one or more databases formanaging data. Servers 126, 136, among other things, can maintain adatabase of various operating parameters. For example, servers 126, 136may include data relating to a mobile country code (MCC), a locationcode, a dialing prefix, or any other operating parameter that could beused by mobile device 110. Generally, such operating parameters arelocation specific, as they pertain to the country or region where bothnetworks 120, 130 are located. However, such operating parameters mayrelate to other data as well, and are in no way limited tolocation-based operating parameters. In addition, although servers 126,136 are shown connected to telecommunications networks 124, 134respectively, such servers may be directly connected to base stations122, 132, and configured to communicate with mobile device 110 throughbase stations 122, 132.

Mobile device 110 is typically capable of communicating voice and/ordata with another device by accessing either network 120 or 130.Typically, mobile device 110 communicates with networks 120 or 130through base stations 122, 132 using one of any number of differentwireless communication technologies. Typically, mobile device 110 iscapable of communicating with both networks 120, 130. For example,mobile device 110 may include a wireless communication system that iscapable of tuning into different radio frequencies used by differenttypes of wireless networks 120, 130, and also capable of utilizingdifferent wireless communication protocols. Mobile device 110 may alsobe capable of communicating with both networks 120, 130 simultaneouslyover different operating frequencies and using different wirelessprotocols. Mobile device 110 is generally capable of tuning into one ormore radio frequencies. For example, mobile device 110 may include twoor more radios, enabling mobile device 110 to simultaneously communicatewith wireless networks 120, 130.

Telecommunications networks 124, 134 typically include both wired andwireless communication networks, and facilitate voice and datacommunications between various devices, including mobile device 110. Forexample, telecommunications networks 124, 134 typically facilitate voiceand/or data communications between multiple mobile devices 110,telephones, computers, etc. Telecommunications networks 124, 134 mayconnect to and/or include a Public Switched Telephone Network (PSTN), awireless network, satellite communications, or any othernetwork/equipment used to facilitate voice and/or data communications,allowing mobile device 110 to communicate with other devices, andpossibly also facilitating communications between telecommunicationsservers 126, 136 and mobile device 110.

Telecommunications networks 124, 134 may include, but are not limitedto, one or more Voice over Internet Protocol (“VoIP”) networks, PublicSwitched Telephone Networks (“PSTNs”), overlay VoIP networks (e.g., aVoIP network overlaid on a PSTN), wireless communication networks (e.g.,cellular telephone or satellite pager networks), wireline networks,packet-switched networks, circuit-switched networks, or any combinationor subset of the above-listed networks. Telecommunications networks 124,134 may be configured to carry one or more types of communicationsignals, including, but not limited to, Internet Protocol signals (i.e.,IP-based signals), Time Division Multiplexing (TDM) signals, SessionInitiation Protocol (SIP) signals, PSTN signals, wireless signals (e.g.,Code Division Multiple Access (CDMA), Time Division Multiple Access(TDMA), and Global System for Mobile communication (GSM) signals), voicesignals, and any other communication signals. As further illustrated inFIG. 1, telecommunication networks 124, 134 are typically connected toone another, either directly as shown in FIG. 1, or possibly through oneor more other intermediary networks, such as through the Internet, aPSTN, etc.

Mobile device 110 may include any number of applications, programs,features, tools, etc., that can benefit from, or even require, thedetermination or update of an operating parameter from a wirelessnetwork, such as wireless networks 120, 130. For example, mobile device110 may include one or more location-based applications or services,such as dialing assistance, web-based searching services, roamingservices, or the like. Such location-based applications may benefitfrom, or even require, a location-based operating parameter, such as acountry code or area code within a country, in order to provide aparticular level of service to a user of mobile device 110. If mobiledevice 110 is taken from one area to another, updating certainlocation-based operating parameters may be beneficial to variouslocation-based services. By updating a location-based operatingparameter, mobile device 110 can provide services tailored to a specificlocation without requiring user input regarding a new location.

For example, mobile device 110 may benefit from knowing in which countryit is currently operating. Mobile device 110 can update or determine alocation-based operating parameter, and then use such a location-basedoperating parameter for a wide range of services. For example, such alocation-based operating parameter may be used for such services asmaking international voice telephone calls, obtaining drivingdirections, language translation services, emergency services, etc. As aspecific example, a user may desire to use mobile device 110 to performsome language translation. If mobile device 110 automatically obtained alocation-based operating parameter, such as a country code, then mobiledevice 110 could automatically select the native language of thatparticular country for the user's convenience.

In another example, a user may have difficulties placing internationaltelephone calls while traveling from one country to another. Forexample, when a user of mobile device 110 travels from one country toanother, the user may need to manually change a dialing prefix (i.e.dial string) that are pre-fixed to a telephone number residing in amobile device's telephone book in order for a telephone call to berouted properly. For example, the International Direct Dial (IDD) prefixis 011 in the United States, but is 00 in Venezuela. In many cases,automatically changing the dialing prefix is not a problem when mobiledevice 110 accesses a GSM or a Universal Mobile Telecommunication System(UMTS) wireless network. A GSM or UMTS wireless network willautomatically add the correct IDD prefix whenever a mobile device 110adds a “+” symbol before (i.e. prefixed) to a telephone number. Addingthe “+” sign to a phone number in a GSM or UMTS network will result inproper international call origination.

However, this is not always the case for CDMA networks, as this is butone example where the CDMA network type differs from other networktypes, such as GSM or UMTS. A US number when dialed from Venezuela overa CDMA network would need to have the correct IDD prefix pre-appended tothe telephone number when mobile device 110 originates the call. Onesolution would be to change how CDMA networks behave. This solution,however, is problematic because network changes require substantialeffort and coordination, universal adoption of a new standard, andproper implementation. Another option, as discussed in detail below, isfor mobile device 110 to update or determine an operating parameter froma first network that is of a first network type, such as GSM wirelessnetwork 130, and then use that updated operating parameter whenaccessing a second network type, such as CDMA wireless network 120. Sucha solution does not require changing an entire wireless network type,changing a wireless protocol standard, obtaining widespread adoption, oruniversal implementation.

Modifying mobile device 110 is typically much easier than attempting tomodify an entire wireless network type. For example, modifying mobiledevice 110 to determine an operating parameter from one network type,and then utilize that operating parameter over a second network type,can be accomplished by a wireless network provider, a manufacturer ofmobile devices, or even facilitated through a software update or add-onapplication.

FIG. 2 illustrates an exemplary process 200 for accessing a service ofmobile device 110. Process 200 begins in step 205 when mobile device 110receives a service request. Typically, mobile device 110 includes one ormore user interfaces, allowing a user to interact with mobile device110. For example, mobile device 110 may be a cellular phone with akeyboard and graphical display. Mobile device 110 may also have a voiceactivated user interface, allowing a user to request a service throughvoice commands. A service is typically implemented in software withinmobile device 110, and provides some type of functionality to a user.For example, a service can include dialing assistance, such as throughdialing a phone number, or accessing a phone number from memory or froma phone/address book. A service may also provide web browsing, drivingdirections, emergency assistance, location assistance, languagetranslation services, text and picture messaging, email, etc.

Next, in step 210, mobile device 110 determines if an operatingparameter should be updated. Mobile device 110 may also identify adesired operating parameter, and also determine that the identifiedoperating parameter should be updated. For example, if a user isattempting to make an international call, mobile device 110 maydetermine that a location-based operating parameter should be updated.For example, mobile device 110 may require updating a location-basedoperating parameter, such as a country code, when accessing a wirelessnetwork for a first time. Mobile device 110 may also require determiningan operating parameter when a user attempts to access a specificservice. For example, a user may request emergency services, and mobiledevice 110 may be programmed to automatically attempt to update alocation-based operating parameter to facilitate a request for emergencyservices. If an operating parameter is required, or if mobile device 110determines that updating the operating parameter would be beneficial forthe requested service, mobile device 110 will proceed to step 215. If nooperating parameter is required, or if mobile device 110 determines thatthe operating parameter was recently updated, then mobile device 110will proceed to step 220.

In step 215, mobile device 110 attempts to update an operatingparameter, discussed in detail below and further illustrated byprocesses 300, 400, and 500.

In step 220, mobile device 110 provides the requested service. Aspreviously discussed, a service is typically an application or functionwithin an operating system running on mobile device 110 that providessome type of functionality to a user. For example, a game can be aservice that does not require the determination or update of anoperating parameter before providing the service, i.e. game, to a user.Following step 220, process 200 ends. Process 200 illustrates oneexample of mobile device 110 deciding whether or not to update anoperating parameter based on a request for a service. However, mobiledevice 110 may attempt to update an operating parameter based on a timeinterval, when accessing a new wireless network 120, 130, after poweringon, or any other programmable event.

FIG. 3 illustrates an exemplary process 300 for updating an operatingparameter. As previously discussed, wireless networks 120, 130 may bedifferent types of wireless networks. For example, wireless network 120may be a CDMA wireless network, while wireless network 130 may be a GSMor UMTS wireless network. Mobile device 110 may be capable ofcommunicating with two or more different types of wireless networks,such as networks 120, 130. Mobile device 110 may benefit from retrievingan operating parameter from one wireless network, such as GSM network130, and using that operating parameter when accessing a second wirelessnetwork, such as CDMA network 120. Wireless networks 120, 130 may usedifferent wireless communication protocols, thereby making themdifferent types of wireless networks. While one type of wireless network130 may provide such an operating parameter, another type of network 120may not. Therefore, in order to obtain the desired operating parameter,mobile device 110 may be configured to execute process 300. Throughprocess 300, mobile device 110 can potentially obtain an operatingparameter from one type of wireless network 130, even when mobile device110 is registered and using another network 120.

Process 300 begins in step 305 when mobile device 110 determines thetype of wireless network with which mobile device 110 is currentlycommunicating. Mobile device 110 may be a multi-mode wireless devicecapable of communicating with different types of wireless networks.Typically, even where mobile device 110 is capable of communicating withmultiple wireless networks, mobile device 110 will only register withone available network. Often times, mobile device 110 will register witha preferred network, such as one supported by a preferred networkprovider. As used in this example, mobile device 110 is a dual modewireless device that is capable of communicating with both GSM and CDMAwireless networks. Wireless network 120 may be a CDMA network, andmobile device 110 may initially register with CDMA network 120. In thisexample, in step 305, mobile device 110 would determine that wirelessnetwork 120 is a CDMA type of wireless network.

After registering a wireless network, mobile device 110 can determinethe type of wireless network through any number of mechanisms. Forexample, mobile device 110 may determine the network type duringregistration, and store that value in memory. In addition, mobile device110 may query some component or device within a wireless network inorder to determine a network type. For example, mobile device 110 mayquery base station 122, telecommunications network 124,telecommunications server 126, or some other component or device. Thecommunication protocol used by mobile device 110 and a wireless networkmay also include one or more mechanisms for identifying the type ofnetwork. The network type may also be defined by the protocol in use,such as CDMA, GSM, or UMTS, and the protocol in use may include anidentifier that indicates which protocol is currently in use.

Next, in step 310, mobile device 110 attempts to retrieve the desiredoperating parameter. In one example, the desired operating parameter isa location-based area identifier, such a mobile country code (MCC) thatidentifies a particular country. For example, mobile device 110 may becommunicating with network 120, which may be a CDMA wireless network. Ifmobile device 110 is operating in a CDMA network 120, then mobile device110 may attempt to determine an operating parameter, such as the currentoperating country, by reading an extended system parameters message(ESPM) that is sent by CDMA base station 122. Mobile device 110 can thenattempt to extract or parse the mobile country code (MCC) from the ESPM.If mobile device 110 is able to retrieve the desired operatingparameter, then mobile device 110 proceeds to step 315. If mobile device110 is unable to retrieve the desired operating parameter, then mobiledevice 110 proceeds to step 335.

In step 315, mobile device 110 checks the validity of the retrievedoperating parameter. For example, some CDMA networks 120 do not properlyimplement the mobile country code (MCC) in the extended systemparameters message (ESPM). Therefore, mobile device 110 may retrieve aninvalid mobile country code and be unable to properly determine theoperating country. Such could be the case for any desired operatingparameter, where the operating parameter is available on one networktype, but not available through another type of wireless network.

Mobile device 110 may include a table or database of proper, or properlyformatted, operating parameters, and may use the table or database tocheck the validity of the retrieved operating parameter. Mobile device110 can then compare the retrieved operating parameter to the locallystored table or database. For example, mobile device 110 could comparethe retrieved MCC to a table that includes a listing of all assignedMCCs and the name of the country corresponding to that MCC. If theretrieved MCC is not found in the table stored in mobile device 110,then the MCC will be deemed as invalid. Such a table or database mayalso include additional information or settings associated with thatparticular country. For example, when implementing internationaldialing, such a table or database may include a dialing pre-fix thatshould be used in a particular country.

Next, in step 320, mobile device 110 checks to see if the retrievedoperating parameter is valid. Mobile device 110 may check a locallystored table or database and compare the retrieved operating parameterto a list of acceptable operating parameters. For example, a validoperating parameter may be one that is stored locally, while an invalidoperating parameter may one that is not stored locally. In addition,mobile device 110 may check the retrieved operating parameter byquerying a telecommunications server 126. If the operating parameter isfound to be valid, then mobile device 110 proceeds to step 325. If theoperating parameter is found to be invalid, then mobile device 110proceeds to step 335.

In step 325, mobile device 110 provides the operating parameter to aservice. As previously discussed, mobile device 110 may attempt todetermine an operating parameter in response to a request from anapplication or service. However, mobile device 110 may also attempt toretrieve certain operating parameters based on other criteria, such asbased on certain time intervals, when mobile device 110 accesses a newwireless network, when mobile device 110 powers on, etc. Additionally,mobile device 110 may provide information to a service based on theretrieved operating parameter. For example, with respect tointernational dialing, mobile device 110 may provide a dialingapplication with a proper dialing pre-fix based on a location-basedoperating parameter, such as a mobile country code that signified thecurrent operating country.

Next, in step 330, mobile device 110 provides the requested service. Aspreviously discussed, a service is typically an application or functionwithin an operating system running on mobile device 110 that providessome type of functionality to a user. Following step 330, process 300ends.

Mobile device 110 may be unsuccessful at retrieving the operatingparameter from a first wireless network. For example, as previouslydiscussed, the operating parameter may be unavailable or invalid (e.g.,inconsistent with expected information). If mobile device 110 isunsuccessful at obtaining a valid operating parameter from a firstwireless network, then mobile device 110 proceeds to step 335. Beginningin step 335, mobile device 110 attempts to retrieve an operatingparameter from at least a second wireless network 130. As previouslydiscussed, wireless network 120 may be a CDMA network, while network 130may be a GSM or UMTS network. Mobile device 110 may be registered to useCDMA network 120, and attempt to retrieve an operating parameter fromnetwork 120. If that attempt is unsuccessful, mobile device 110 mayattempt to retrieve the desired operating parameter from GSM network130.

In step 335, mobile device 110 tunes to an alternative network type. Forexample, mobile device 110 may start searching for an alternativenetwork by tuning to a radio frequency of GSM network 130. Mobile device110 may select the alternative network type at random, i.e. from a listof network types that mobile device 110 is capable of accessing. Inaddition, mobile device 110 may explicitly attempt to access a differentnetwork type than was previously accessed.

If mobile device 110 is a dual mode device, there may only be twochoices of network types to attempt to access. However, mobile device110 may be configured to access three or more different network types,and may therefore attempt to retrieve the desired operating parameterfrom any wireless network type that mobile device 110 is capable ofaccessing. In addition, mobile device 110 may select the network typebased on past success of accessing that type of network, based on pastsuccess of retrieving the desired operating parameter, based on aprobability of accessing a particular network type (e.g., signalstrength), or based on any other programmable criteria such as the factthat an alternative network is associated with the same networkprovider, etc. Tuning to an alternative network type can includemodifying an operating frequency to a frequency within a range that isdesignated for a particular network type. For example, mobile device 110may instruct a wireless communication system that includes a radioreceiver to switch to another radio frequency (RF) band and scan certainfrequencies that are within a band designated by a particular networktype, such as GSM/UMTS frequencies.

Next, in step 340, mobile device 110 will scan a particular frequencywithin a range as designated by a network type, such as GSM network 130,for example. Mobile device 110 may select one particular frequencywithin a pre-determined range that is designated for a particularnetwork type.

Next, in step 345, mobile device 110 attempts to determine if any radiosignal energy is detected, thereby indicating the presence of a wirelessnetwork. If no radio energy is detected, then mobile device 110 returnsback to step 340 and selects another frequency to scan. If a wirelessnetwork is detected through the detection of radio energy, then mobiledevice 110 continues to step 350.

In step 350, mobile device 110 acquires a broadcast channel of wirelessnetwork 130, for example. In such an example, mobile device 110 firstretrieved an invalid operating parameter from CDMA network 120, and isnow attempting to obtain a valid operating parameter from GSM network130. Mobile device 110 does not need to register with network 130 toobtain the broadcast channel, however, and can acquire information fromnetwork 130 through the broadcast channel.

Next, in step 310, mobile device again attempts to retrieve the desiredoperating parameter, but now attempts to retrieve the operatingparameter from another wireless network, such as GSM network 130. Forexample, mobile device 110 can obtain an operating parameter fromnetwork 130 through the broadcast channel, without registering withnetwork 130. For example, if network 130 is a GSM network, then mobiledevice 110 can parse out a mobile country code (MCC) from data in thebroadcast channel.

After obtaining an operating parameter from the second wireless network,mobile device 110 continues on to step 315 and checks the validity ofthe retrieved operating parameter. Mobile device 110 will then continueto step 320 and determine if the newly retrieved operating parameter isvalid. If the retrieved operating parameter is valid, then mobile device110 will proceed to step 325. If the parameter is not valid, then mobiledevice 110 continues on to step 335 and again attempts to retrieve anoperating parameter from yet another wireless network. Mobile device 110can attempt to retrieve the desired operating parameter from anothertype of wireless network, or attempt to retrieve the parameter fromanother network of the same type as previously accessed. Following step325, mobile device 110 provides the requested service in step 330.Following step 330, process 300 ends. Following process 300, mobiledevice 110 can then tune back to the first wireless network, thewireless network that mobile device 110 originally registered with, suchas CDMA wireless network 120.

As illustrated through process 300, mobile device 110 can be configuredto register with a first network having a first network type, andattempt to retrieve an operating parameter from the first wirelessnetwork. If the operating parameter is unavailable or found to beinvalid, mobile device 110 can temporarily tune to at least a secondwireless network of a different type to obtain the desired operatingparameter. For example, mobile device 110 can be originally registeredwith a CDMA network 120, but tune away temporarily to a GSM network 130when the lookup of an operating parameter in CDMA network 120 yields aninvalid operating parameter. As illustrated in process 300, mobiledevice 110 can attempt to retrieve a desired operating parameter fromanother network without registering with that network, or requestinginput from a user.

FIG. 4 illustrates another exemplary process 400 for updating anoperating parameter. Mobile device 110 may include a table or databasethat includes a listing of operating parameters, and data about eachoperating parameter. For example, mobile device 110 may maintain a listof operating parameters, and the type of wireless network 120, 130 thatprovides that specific operating parameter. For example, mobile device110 may be aware that a mobile country code (MCC) is more likelyavailable and valid in a GSM network 130, while obtaining such anoperating parameter from a CDMA network 120 may be less likely. Havingsuch locally stored information about an operating parameter can enablemobile device 110 to obtain an operating parameter without checking thevalidity of the operating parameter, as illustrated by process 400.

Process 400 begins in step 405 when mobile device 110 determines thecurrent wireless network type. As previously discussed, mobile device110 may register with a preferred wireless network 120, and determinethat network 120 is a CDMA network through any number of differentmechanisms such as those discussed above.

Next, in step 410, mobile device 110 determines if the current networktype provides the desired operating parameter. Mobile device 110 mayhave a locally stored table or database that stores data about suchoperating parameters, such as which wireless network type is more orless likely to provide the operating parameter. While some wirelessnetwork types may not provide a certain operating parameter at all,others may simply be less likely to provide a valid operating parameter,meaning that the data provided for a particular operating parameter maynot be correct. If mobile device 110 determines that the current networktype does provide the desired operating parameter, then mobile device110 proceeds to step 415. If mobile device 110 determines that thecurrent network type does not provide the desired operating parameter,then mobile device 110 proceeds to step 420.

In step 415, mobile device 110 attempts to retrieve the desiredoperating parameter. If mobile device 110 is able to retrieve thedesired operating parameter, then mobile device 110 proceeds to step420. If mobile device 110 is unable to retrieve the desired operatingparameter, then mobile device 110 proceeds to step 425.

In step 420, mobile device 110 provides the requested service. Followingstep 420, process 400 ends.

In step 425, mobile device 110 tunes to an alternative network type thatprovides, or is more likely to provide, the desired operating parameter.For example, mobile device 110 may be registered and using CDMA network120, which is less likely to provide a valid MCC. Mobile device 110 maybe aware that a GSM network is more likely to provide a valid MCC, andtherefore tune to GSM frequencies in an attempt to retrieve the desiredoperating parameter from GSM network 130.

Next, in step 430, mobile device 110 scans a radio frequency for asignal. As previously discussed, mobile device 110 can scan a wide rangeof frequencies in search of radio energy indicated an available network130, such as a GSM wireless network.

Next, in step 435, mobile device 110 attempts to determine if any radiosignal energy is detected, thereby indicating the presence of a wirelessnetwork. If no radio energy is detected, then mobile device 110 returnsback to step 430 and selects another frequency to scan. If a wirelessnetwork is detected through the detection of radio energy, then mobiledevice 110 continues to step 440.

In step 440, mobile device 110 acquires a broadcast channel signal fromthe alternative network 130. As discussed with respect to process 300,mobile device 110 can scan multiple frequencies within a frequency rangethat is designated for a particular wireless network type. Once awireless network 130 of the desired type is located, mobile device 110can acquire the broadcast channel from network 130. Following step 440,mobile device continues to step 410 and determines if the network typeprovides the desired operating parameter.

As illustrated in FIG. 4, mobile device 110 can obtain a desiredoperating parameter from an alternative network type without firstretrieving the desired operating parameter from a first network, andalso checking the validity of the operating parameter. Process 400 canbe implemented when mobile device 110 knows which network types provide,or are more likely to prove, certain operating parameters. Of course,mobile device 110 may have such information regarding the availabilityof operating parameters, but may still include process steps forchecking the validity of any retrieved operating parameter for qualitypurposes.

As previously discussed, mobile device 110 is capable of providingvarious location-based services that may benefit from or even requirethe updating of a location-based operating parameter. When suchlocation-based services are requested, mobile device 110 may determine alocation-based operating parameter, such as a mobile country codecorresponding to the country in which mobile device 110 is currentlyoperating. To enable many location-based services, e.g., user assisteddialing and location based web operations, mobile device 110 may benefitfrom knowing the country in which it is operating. For example, whenoperating in GSM/UMTS networks, such a location-based operatingparameter may be readily available. However, when accessing a CDMAnetwork, such a location-based operating parameter may not be readilyavailable without network assistance.

FIG. 5 illustrates another exemplary process 500 for updating alocation-based operating parameter, such as a mobile country code. Inone example, a location-based operating parameter is a mobile countrycode. Further, a location-based operating parameter may be the countryin which mobile device 110 is currently operating. Process 500 begins instep 505 when mobile device 110 receives a request for a location-basedservice. For example, a user may request an assisted dialingapplication, a location-based web application, or any other service thatrequires or can benefit from a location-based operating parameter.

Next, in step 510, mobile device 110 determines the type of the wirelessnetwork with which it is currently communicating. For example, mobiledevice 110 can determine whether it is operating in a GSM/UMTS networkor a CDMA network. If mobile device 110 determines that it is operatingin a GSM/UMTS network, then mobile device 110 proceeds to step 515. Ifmobile device 110 determines that it is operating in a CDMA network,then mobile device 110 proceeds to step 525.

In step 515, mobile device 110 will determine a mobile country code(MCC). In one example, mobile device 110 determines the MCC by acquiringthe GSM/UMTS broadcast channel (BCCH). Mobile device 110 can thenutilize the System Information Type 3 messages broadcast on the BCCH bythe wireless network. Mobile device 110 can then parse the MCC part ofthe Location Area Identifier (LAI) obtained from the System InformationType 3 messages. System Information Type 3 messages are specified in3GPP TS 25.331.

Next, in step 520, mobile device 110 can determine the current countryname using the MCC. For example, mobile device 110 may maintain a tableor database that associates country names to MCCs. Mobile device 110 canthen compare the parsed MCC to the table to determine the country namein which mobile device 110 is operating.

Next, in step 525, mobile device 110 utilizes the country name toprovide the requested location-based service to the user. Following step525, process 500 ends.

In step 530, mobile device 110 reads the Extended System ParametersMessage (ESPM) sent by the serving CDMA base station. Mobile device 110may then parse the Mobile Country Code (MCC) from the ESPM. The ExtendedSystem Parameters Message (ESPM) is specified in 3GPP2 C.S0005 UpperLayer (layer 3) Signaling Standard for cdma2000 Spread Spectrum Systems.

Next, in step 535, mobile device 110 determines if the parsed MCC is inthe locally stored table associating MCCs with country names. In oneexample, the table includes at least two columns, where one includes alisting of all assigned MCCs, and the second column includes the name ofthe corresponding country. Of course, there may be multiple MCCsassigned to a single country.

Next, in step 540, mobile device 110 uses the table to determine if theMCC parsed in step 530 is valid. Generally, a valid MCC is one that islisted in the table. If the parsed MCC is valid, then mobile device 110will proceed to step 520 and determine the country name associated withthe parsed MCC, and provide the requested location-based service in step525. If mobile device 110 determines that the parsed MCC is not valid,then mobile device 110 proceeds to step 545.

In step 545, mobile device 110 tunes away to another radio frequency(RF) band. For example, mobile device 110 may tune its radio receiver toanother RF band. In one example, mobile device 110 tunes to an RFfrequency that is within a band of frequencies used by GSM/UMTS wirelessnetworks.

Next, in step 550, mobile device 110 scans GSM/UMTS frequencies for asignal. Generally, such scanning includes attempting to detect signalenergy on the tuned frequency.

Next, in step 555, mobile device 110 determines if any radio frequencyenergy is detected on the scanned frequency. If no energy is detected,then mobile device 110 returns to step 545 and tunes to anotherfrequency within the GSM/UMTS frequency ranges. If energy is detected,then mobile device 110 proceeds to step 560.

In step 560, mobile device 110 acquires the broadcast channel of theGSM/UMTS wireless network. For example, mobile device 110 may include aradio receiver, and utilize the radio receiver to acquire the GSM/UMTSBroadcast Channel (BCCH). Mobile device 110 can then proceed to steps515-525. As previously discussed with respect to steps 515-525, mobiledevice 110 can determine the MCC, determine the country name from theMCC, and then provide the requested location-based service to a user.Following step 525, process 500 ends.

As illustrated by process 500, mobile device 110 can communicate with afirst wireless network of a first type, such as a CDMA wireless network,but obtain a location-based operating parameter from a second wirelessnetwork of a second type, such as a GSM/UMTS wireless network. Mobiledevice 110 could then return to the first wireless network, namely theCDMA network, and provide the requested location-based service using thefirst wireless network. As illustrated, mobile device 110 can retrievean operating parameter from a second wireless network, such as aGSM/UMTS network, sending any data or registering with that network. Inaddition, mobile device 110 can utilize the received mobile country codeto determine the country name in which mobile device 110 is currentlyoperating. By determining the country name, mobile device 110 canprovide various location-based services tailored to the current countrywithout requiring a user to select or input the current country.

Certain devices of system 100, such as mobile device 110, servers 126,136, and other devices mentioned herein may employ any of a number ofknown computer operating systems. For example, such devices may use anyknown versions and/or varieties of the Microsoft Windows operatingsystem; the Unix operating system (e.g., the Solaris operating systemdistributed by Sun Microsystems of Menlo Park, Calif.); the AIX UNIXoperating system distributed by International Business Machines ofArmonk, N.Y.; and the Linux operating system and the Vortex operatingsystem distributed by Motorola, Inc. of Schaumberg, Ill. Computingdevices may include any one of a number of computing devices that areknown, including, without limitation, a computer workstation, a desktop,notebook, laptop, handheld computer, or some other computing device.Certain devices, such as mobile device 110, may use an embeddedoperating system or a proprietary operating system.

Devices mentioned herein are generally capable of executing instructionsstored on a computer-readable medium, such as instructions forperforming one or more of the above-identified processes.Computer-executable instructions may be compiled or interpreted fromcomputer programs created using a variety of known programming languagesand/or technologies, including, without limitation, and either alone orin combination, Java, C, C++, Visual Basic, Java Script, Perl, etc. Ingeneral, a processor (e.g., a microprocessor) receives instructions,e.g., from a memory, a computer-readable medium, etc., and executesthese instructions, thereby performing one or more processes, includingone or more of the processes described herein. Such instructions andother data may be stored and transmitted using a variety of knowncomputer-readable media.

A computer-readable medium (also referred to as a processor-readablemedium) includes any tangible medium that participates in providing data(e.g., instructions) that may be read by a computer (e.g., by aprocessor of a computer, a microcontroller, etc.). Such a medium maytake many forms, including, but not limited to, non-volatile media andvolatile medial. Non-volatile media may include, for example, optical ormagnetic disks, read-only memory (ROM), and other persistent memory.Volatile media may include, for example, dynamic random access memory(DRAM), which typically constitutes a main memory. Common forms ofcomputer-readable media include, for example, a floppy disk, a flexibledisk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM,DVD, any other optical medium, punch cards, paper tape, any othertangible medium with patterns of holes, a RAM, a PROM, an EPROM, aFLASH-EEPROM, any other memory chip or cartridge, or any other mediumfrom which a computer can read.

A transmission media may facilitate the processing of instructions bycarrying instructions from one component or device to another. Forexample, a transmission media may facilitate electronic communicationbetween mobile device 110 and telecommunications server 126.Transmission media may include, for example, coaxial cables, copper wireand fiber optics, including the wires that comprise a system bus coupledto a processor of a computer. Transmission media may include or conveyacoustic waves, light waves, and electromagnetic emissions, such asthose generated during radio frequency (RF) and infrared (IR) datacommunications.

With regard to the processes, systems, methods, heuristics, etc.described herein, it should be understood that, although the steps ofsuch processes, etc. have been described as occurring according to acertain ordered sequence, such processes could be practiced with thedescribed steps performed in an order other than the order describedherein. It further should be understood that certain steps could beperformed simultaneously, that other steps could be added, or thatcertain steps described herein could be omitted. In other words, thedescriptions of processes herein are provided for the purpose ofillustrating certain embodiments, and should in no way be construed soas to limit the claimed invention.

Accordingly, it is to be understood that the above description isintended to be illustrative and not restrictive. Many embodiments andapplications other than the examples provided would be apparent to thoseof skill in the art upon reading the above description. The scope of theinvention should be determined, not with reference to the abovedescription, but should instead be determined with reference to theappended claims, along with the full scope of equivalents to which suchclaims are entitled. It is anticipated and intended that futuredevelopments will occur in the arts discussed herein, and that thedisclosed systems and methods will be incorporated into such futureembodiments. In sum, it should be understood that the invention iscapable of modification and variation and is limited only by thefollowing claims.

All terms used in the claims are intended to be given their broadestreasonable constructions and their ordinary meanings as understood bythose skilled in the art unless an explicit indication to the contraryis made herein. In particular, use of the singular articles such as “a,”“the,” “said,” etc. should be read to recite one or more of theindicated elements unless a claim recites an explicit limitation to thecontrary.

1. A method, comprising: communicating with a first wireless network ofa first type; obtaining a location-based operating parameter from thefirst wireless network, wherein the location-based operating parameteris a mobile country code; checking the validity of the location-basedoperating parameter obtained from the first wireless network; and if thelocation-based operating parameter obtained from the first wirelessnetwork is not valid, then searching for a second wireless network of asecond type, and updating the location-based operating parameter fromthe second wireless network.
 2. The method of claim 1, furthercomprising receiving a request for at least one of a location-basedservice and the location-based operating parameter.
 3. The method ofclaim 1, further comprising checking the validity of the location-basedoperating parameter by determining whether the obtained mobile countrycode is an expected value.
 4. The method of claim 1, further comprisingdetermining a country name utilizing the obtained mobile country code.5. The method of claim 4, further comprising utilizing a table thatincludes a plurality of country names and corresponding mobile countrycodes to determine the country name.
 6. The method of claim 1, furthercomprising: identifying a frequency range of the second wirelessnetwork; selecting a frequency within the identified frequency range;detecting a signal from the second wireless network; and updating thelocation-based operating parameter from the second wireless network byreceiving data from the second wireless network.
 7. The method of claim6, wherein updating the operating parameter from the second wirelessnetwork includes utilizing a broadcast channel.
 8. The method of claim1, further comprising utilizing the location-based operating parameterfrom the second wireless network to provide a service in conjunctionwith the first wireless network.
 9. The method of claim 1, furthercomprising: identifying a network type of the first wireless network;and selecting the second wireless network based on the identifiednetwork type of the first wireless network.
 10. The method of claim 1,wherein the first wireless network is one of a CDMA and a non-CDMAwireless network, and the second wireless network is one of a CDMA and anon-CDMA wireless network.
 11. A method, comprising: communicating witha first wireless network; receiving a request for a location-basedservice; obtaining a location-based operating parameter from the firstwireless network; checking the validity of the location-based operatingparameter obtained from the first wireless network; and if thelocation-based operating parameter obtained from the first wirelessnetwork is not valid, then updating the location-based operatingparameter from a second wireless network.
 12. The method of claim 11,wherein the location-based operating parameter is a country name. 13.The method of claim 11, further comprising registering with the firstwireless network.
 14. The method of claim 11, further comprisingupdating the location-based operating parameter from the second wirelessnetwork by listening to a broadcast channel and not by sending data tothe second wireless network.
 15. The method of claim 11, furthercomprising utilizing the location-based operating parameter from thesecond wireless network to provide the requested location-based servicein conjunction with the first wireless network.
 16. The method of claim11, further comprising searching for the second wireless network,wherein the second wireless network is of a different network type thanthe first wireless network.
 17. The method of claim 11, wherein thelocation-based operating parameter is a mobile country code.
 18. Themethod of claim 17, further comprising determining a country nameutilizing the obtained mobile country code.
 19. The method of claim 17,further comprising checking the validity of the location-based operatingparameter by determining whether the obtained mobile country code is anexpected value.
 20. The method of claim 17, further comprising:identifying a frequency range of the second wireless network; selectinga frequency within the identified frequency range; detecting a signalfrom the second wireless network; and updating the location-basedoperating parameter from the second wireless network by utilizing abroadcast channel.
 21. The method of claim 11, wherein the firstwireless network is one of a CDMA and a non-CDMA wireless network, andthe second wireless network is one of a CDMA and a non-CDMA wirelessnetwork.
 22. A computer-readable medium comprising instructions tangiblyembodied thereon, comprising instructions for: receiving a request for alocation-based operating parameter; updating the location-basedoperating parameter from a first wireless network; checking the validityof the location-based operating parameter from the first wirelessnetwork; if the location-based operating parameter from the firstwireless network is not valid, then searching for a second wirelessnetwork of a second network type, and updating the location-basedoperating parameter from the second wireless network; and utilizing thelocation-based operating parameter obtained from the second wirelessnetwork to provide the requested location-based service via the firstwireless network.
 23. The medium of claim 22, wherein the location-basedoperating parameter is a mobile country code.
 24. The medium of claim22, further comprising instructions for receiving a request for thelocation-based operating parameter.
 25. The medium of claim 22, furthercomprising instructions for checking the validity of the location-basedoperating parameter by comparing the location-based operating parameterto at least one expected value.
 26. The medium of claim 22, furthercomprising instructions for: identifying a frequency range of the secondwireless network; selecting a frequency within the identified frequencyrange; detecting a signal from the second wireless network; and updatingthe location-based operating parameter from the second wireless networkby receiving data from a broadcast channel provided by the secondwireless network.
 27. The medium of claim 22, further comprisinginstructions for updating the location-based operating parameter fromthe second wireless network by listening to a broadcast channel and notby sending data to the second wireless network.
 28. The medium of claim22, further comprising instructions for searching for the secondwireless network, wherein the second wireless network is of a differentnetwork type than the first wireless network.
 29. The medium of claim22, further comprising instructions for determining a country nameutilizing the location-based operating parameter.
 30. The medium ofclaim 22, wherein the first wireless network is one of a CDMA and anon-CDMA wireless network, and the second wireless network is one of aCDMA and a non-CDMA wireless network.